package com.uhylab.uhuvinetest;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.widget.Toast;

import com.uhylab.uhuvinetest.service.UHUpdateService;
import com.uhylab.uhuvinetest.utils.UHDeviceUtils;

/**
 * 项目名称：Uhylab
 * 类描述：
 * 创建人：xyb
 * 创建时间：16/8/26 16:03
 * 修改人：xyb
 * 修改时间：16/8/26 16:03
 * 修改备注：
 */
public class UHUpdateManager {
    private Activity mContext;

    public UHUpdateManager(Activity context) {
        mContext = context;
    }

    /**
     *
     * @param version_info 更新内容
     * @param nVersion_code 版本号
     * @param apkurl 更新地址apk
     */
    public void checkUpdate(String version_info, int nVersion_code, String apkurl) {
        /**
         * 在这里请求后台接口，获取更新的内容和最新的版本号
         */
        // 版本的更新信息
        int mVersion_code = UHDeviceUtils.getVersionCode(mContext);// 当前的版本号
        if (mVersion_code < nVersion_code) {
            // 显示提示对话
            showNoticeDialog(version_info, mContext.getPackageName() + mVersion_code, apkurl);
        } else {
            Toast.makeText(mContext, "已经是最新版本", Toast.LENGTH_SHORT).show();
        }
    }

    private void showNoticeDialog(String version_info, final String apkName, final String apkurl) {
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        builder.setTitle("更新提示")
                .setMessage(version_info)
                .setPositiveButton("立即更新", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        mContext.startService(new Intent(mContext, UHUpdateService.class).putExtra("appName", apkName).putExtra("apkUrl", apkurl));
                        mContext.finish();
                    }
                })
                .setNegativeButton("以后更新", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        mContext.finish();
                    }
                })
                .setCancelable(false)
                .show();

    }
}
